package org.jeeasy.common.core.config.valid.validator;

public interface ValidatorPattern {
    /**
     * 手机号码验证
     */
    String MOBILE_PHONE = "^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\\d{8}$";
    String MOBILE_PHONE_MSG = "手机号码格式不正确";
    /**
     * 电话号码验证
     */
    String PHONE = "^(((\\d{3,4}-)?[0-9]{7,8})|(1(3|4|5|6|7|8|9)\\d{9}))$";
    String PHONE_MSG = "电话号码格式不正确";

    /**
     * 性别验证
     */
    String SEX_MSG = "性别数据不正确";

    /**
     * 身份证验证
     */
    String ID_CARD = "(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)";
    String ID_CARD_MSG = "身份证号码不正确";

    /**
     * IP地址验证
     */
    String IP = "^((25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(25[0-5]|2[0-4]\\d|[01]?\\d\\d?)$|^([\\da-fA-F]{1,4}:){6}((25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(25[0-5]|2[0-4]\\d|[01]?\\d\\d?)$|^::([\\da-fA-F]{1,4}:){0,4}((25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(25[0-5]|2[0-4]\\d|[01]?\\d\\d?)$|^([\\da-fA-F]{1,4}:):([\\da-fA-F]{1,4}:){0,3}((25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(25[0-5]|2[0-4]\\d|[01]?\\d\\d?)$|^([\\da-fA-F]{1,4}:){2}:([\\da-fA-F]{1,4}:){0,2}((25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(25[0-5]|2[0-4]\\d|[01]?\\d\\d?)$|^([\\da-fA-F]{1,4}:){3}:([\\da-fA-F]{1,4}:){0,1}((25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(25[0-5]|2[0-4]\\d|[01]?\\d\\d?)$|^([\\da-fA-F]{1,4}:){4}:((25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(25[0-5]|2[0-4]\\d|[01]?\\d\\d?)$|^([\\da-fA-F]{1,4}:){7}[\\da-fA-F]{1,4}$|^:((:[\\da-fA-F]{1,4}){1,6}|:)$|^[\\da-fA-F]{1,4}:((:[\\da-fA-F]{1,4}){1,5}|:)$|^([\\da-fA-F]{1,4}:){2}((:[\\da-fA-F]{1,4}){1,4}|:)$|^([\\da-fA-F]{1,4}:){3}((:[\\da-fA-F]{1,4}){1,3}|:)$|^([\\da-fA-F]{1,4}:){4}((:[\\da-fA-F]{1,4}){1,2}|:)$|^([\\da-fA-F]{1,4}:){5}:([\\da-fA-F]{1,4})?$|^([\\da-fA-F]{1,4}:){6}:$";
    String IP_MSG = "IP地址格式不正确";

    /**
     * IPV4地址验证
     */
    String IPV4 = "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3})$";
    String IPV4_MSG = "IP地址格式不正确";

    /**
     * IPV6地址验证
     */
    String IPV6 = "^([\\da-fA-F]{1,4}:){7}([\\da-fA-F]{1,4}|:)|^([\\da-fA-F]{1,4}:){6}(:[\\da-fA-F]{1,4}|((25[0-5]|2[0-4]\\d|[01]?\\d{1,2})(\\.(25[0-5]|2[0-4]\\d|[01]?\\d{1,2})){3}))|^([\\da-fA-F]{1,4}:){5}((([\\da-fA-F]{1,4}:){1,2}[\\da-fA-F]{1,4})|:([\\da-fA-F]{1,4}:){2}((25[0-5]|2[0-4]\\d|[01]?\\d{1,2})(\\.(25[0-5]|2[0-4]\\d|[01]?\\d{1,2})){3}))|^([\\da-fA-F]{1,4}:){4}((([\\da-fA-F]{1,4}:){1,3}[\\da-fA-F]{1,4})|(([\\da-fA-F]{1,4}:){2}((25[0-5]|2[0-4]\\d|[01]?\\d{1,2})(\\.(25[0-5]|2[0-4]\\d|[01]?\\d{1,2})){3}))|^([\\da-fA-F{1,4}:){3}((([\\da-fA-F]{1,4}:){1,4}[\\da-fA-F]{1,4})|(([\\da-fA-F]{1,4}:){3}((25[0-5]|2[0-4]\\d|[01]?\\d{1,2})(\\.(25[0-5]|2[0-4]\\d|[01]?\\d{1,2})){3}))|^([\\da-fA-F]{1,4}:){2}((([\\da-fA-F]{1,4}:){1,5}[\\da-fA-F]{1,4})|(([\\da-fA-F]{1,4}:){4}((25[0-5]|2[0-4]\\d|[01]?\\d{1,2})(\\.(25[0-5]|2[0-4]\\d|[01]?\\d{1,2})){3}))|^([\\da-fA-F]{1,4}:){1}((([\\da-fA-F]{1,4}:){1,6}[\\da-fA-F]{1,4})|(([\\da-fA-F]{1,4}:){5}((25[0-5]|2[0-4]\\d|[01]?\\d{1,2})(\\.(25[0-5]|2[0-4]\\d|[01]?\\d{1,2})){3}))|^:(((:[\\da-fA-F]{1,4}){1,7})|((:[\\da-fA-F]{1,4}){6}((25[0-5]|2[0-4]\\d|[01]?\\d{1,2})(\\.(25[0-5]|2[0-4]\\d|[01]?\\d{1,2})){3}))|^fe80:(:[\\da-fA-F]{0,4}){0,4}%[a-zA-Z\\d]{1,}|^::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|2[0-4]\\d|[01]?\\d{1,2})(\\.(25[0-5]|2[0-4]\\d|[01]?\\d{1,2})){3})|^([\\da-fA-F]{1,4}:){1,4}:(([\\da-fA-F]{1,4}:){1,4}[\\da-fA-F]{1,4})?$";
    String IPV6_MSG = "IP地址格式不正确";


    /**
     * 邮箱验证
     */
    String EMAIL_MSG = "邮箱格式不正确";
}

